{
  "nbformat": 4,
  "nbformat_minor": 0,
  "metadata": {
    "colab": {
      "name": "Linear Regression with one Variable.ipynb",
      "version": "0.3.2",
      "provenance": []
    },
    "kernelspec": {
      "display_name": "Python 3",
      "language": "python",
      "name": "python3"
    }
  },
  "cells": [
    {
      "metadata": {
        "id": "Q4uYQZqoQvPE",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "# Linear Regression with One variable"
      ]
    },
    {
      "metadata": {
        "id": "Je7RGAE6QvPG",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### Creating a dataset"
      ]
    },
    {
      "metadata": {
        "id": "aYiNe3TpQvPH",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        "import numpy as np \n",
        "import matplotlib.pyplot as plt \n",
        "\n",
        "x = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) \n",
        "y = np.array([1, 3, 2, 5, 7, 8, 8, 9, 10, 12]) \n",
        " "
      ],
      "execution_count": 0,
      "outputs": []
    },
    {
      "metadata": {
        "id": "44RRPIIcQvPL",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### Getting values for coefficient"
      ]
    },
    {
      "metadata": {
        "id": "i6v-wvMDQvPM",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 34
        },
        "outputId": "8888b675-86f8-4f34-a3f2-fde96c30402d"
      },
      "cell_type": "code",
      "source": [
        "n = np.size(x)  \n",
        "m_x, m_y = np.mean(x), np.mean(y) \n",
        "\n",
        "SS_xy = np.sum(y*x - n*m_y*m_x) \n",
        "SS_xx = np.sum(x*x - n*m_x*m_x) \n",
        "  \n",
        "b_1 = SS_xy / SS_xx \n",
        "b_0 = m_y - b_1*m_x \n",
        "\n",
        "print(\"Estimated Coefficients are \",b_0,b_1)"
      ],
      "execution_count": 2,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "Estimated Coefficients are  -0.05862068965517242 1.457471264367816\n"
          ],
          "name": "stdout"
        }
      ]
    },
    {
      "metadata": {
        "id": "V-0YndfNQvPS",
        "colab_type": "text"
      },
      "cell_type": "markdown",
      "source": [
        "#### Prediction with graph"
      ]
    },
    {
      "metadata": {
        "id": "Xo_T92rdQvPS",
        "colab_type": "code",
        "colab": {
          "base_uri": "https://localhost:8080/",
          "height": 395
        },
        "outputId": "268647a9-6829-465b-dc55-2c35e02e8280"
      },
      "cell_type": "code",
      "source": [
        "plt.scatter(x, y, color = \"m\", \n",
        "               marker = \"o\", s = 30) \n",
        "\n",
        "y_pred = b_0 + b_1*x \n",
        "print(y_pred)\n",
        "plt.plot(x, y_pred, color = \"g\") \n",
        "  \n",
        "plt.xlabel('x') \n",
        "plt.ylabel('y') \n",
        "plt.show()"
      ],
      "execution_count": 3,
      "outputs": [
        {
          "output_type": "stream",
          "text": [
            "[-0.05862069  1.39885057  2.85632184  4.3137931   5.77126437  7.22873563\n",
            "  8.6862069  10.14367816 11.60114943 13.05862069]\n"
          ],
          "name": "stdout"
        },
        {
          "output_type": "display_data",
          "data": {
            "image/png": "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\n",
            "text/plain": [
              "<matplotlib.figure.Figure at 0x7fe1682dc240>"
            ]
          },
          "metadata": {
            "tags": []
          }
        }
      ]
    },
    {
      "metadata": {
        "id": "8oOaQUbSQvPW",
        "colab_type": "code",
        "colab": {}
      },
      "cell_type": "code",
      "source": [
        ""
      ],
      "execution_count": 0,
      "outputs": []
    }
  ]
}